1. Field of the Invention
The present invention is in the field of object modeling and rendering, and pertains more particularly to methods and apparatus for simulating altered appearances of three-dimensional objects rendered on a display screen.
2. Discussion of the State of the Art
In the field of object modeling and rendering, new tools used to enable building and rendering of three-dimensional objects for rendering in three-dimensional space are continually contemplated. Often data used to describe a three dimensional object is stored in a voxel cell on a voxel grid. A voxel grid is a regular n-dimensional grid that represents portions of virtual space. A voxel grid is an efficient and convenient representation for various virtual game and virtual world applications. Three important aspects of voxel representation in object modeling are the regular grid of voxel data in random access memory (RAM), the rendered on-screen geometry, and the physical geometry leveraged for physics simulation purposes.
Data in a voxel cell is typically linear and describes the three-dimensional layout of the portion of the object or three-dimensional feature being represented by that cell. In this respect a voxel is a three-dimensional pixel. In object or scene rendering, important pieces of data are vertex locations and the normal vectors, termed “normals” in the art, that are associated with those vertices. Direction of the normal vectors is used in simulating lighting and shadowing, for example.
One aspect of voxel representation of three-dimensional objects is that while voxel representation is very efficient in terms of memory processing, the resulting graphics layout is often unblended with abrupt or blocky edges. While tools exist to simulate smoothing of blocky edges and the like for blocks or cubes used to create features in a virtual environment or space, these tools are not robust, and many times are manually operated, creating more task performance requirements for the operator.
Therefore, what is clearly needed are methods for automatic and dynamic altering of rendered on-screen, three-dimensional graphics that are more robust than current methods and that do not significantly increase task performance for the user.